#ifndef FORCE_SCENE_H
#define FORCE_SCENE_H

#include <list>

#include <NxScene.h>

#include "..\_Utils\src\Scene.h"
#include "..\_Utils\src\DevilTexture.h"

#include "Renderer.h"
#include "PhysxLogic.h"
#include "Planet.h"

class ForceScene : Scene
{
private:
    std::list<Planet*> planets;
    DevilTexture* planetTextures;
    float currentMaxTimestep;
    int currentMaxIter;
    int countTime;
public:
    ForceScene();
    ~ForceScene();

    void PrepareScene(NxScene *scene);
    void CleanScene();

    void Update();
    void Draw();

    void HandleKeyboardEvent(unsigned char key, int x, int y);
    void HandleKeyboardSpecialEvent(int key, int x, int y);
    void HandleMouseClickEvent(int button, int state, int x, int y);
    void HandleMousePressedMovementEvent(int x, int y, int dx, int dy);
};

#endif //FORCE_SCENE_H